// c++风格的不定参数的使用
#include <iostream>
using namespace std;
void myprint()
{
    cout << endl;
}
template <typename T, typename... Args> // 这里相当于有一个模板参数，第一个参数为T ，第二个为可变参数
void myprint(const T &v, Args &&...args)
{
    cout << v << endl;

    myprint(args...);

    // 这里相当于对这个可变参数解包，假设可变参数最开始有三个参数，第一次递归到这里的时候，把可变参数的第一个参数传给了下个递归的V，其他的
    // 剩余的可变参数传给了下一个递归的args。
}

int main()
{
    myprint("666", 5555, 888);
}